#!/bin/bash

echo "=== 植物疾病检测系统 - 生产环境启动脚本 ==="

# 设置错误处理
set -e

# 等待数据库服务启动
echo "等待数据库服务启动..."
while ! mysqladmin ping -h"$DB_HOST" -P"$DB_PORT" -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" --skip-ssl --silent 2>/dev/null; do
    sleep 2
    echo "正在等待数据库连接..."
done

echo "✓ 数据库连接成功!"

# 运行数据库迁移
echo "运行数据库迁移..."
python manage.py makemigrations
python manage.py migrate

# 收集静态文件
echo "收集静态文件..."
python manage.py collectstatic --noinput --clear --verbosity=0
echo "✓ 静态文件收集完成"

# 初始化机构和实验室数据
echo "初始化机构和实验室数据..."
python manage.py init_institutions

echo "创建测试用户..."
python manage.py create_test_users

# 创建超级用户（如果不存在）
echo "检查超级用户..."
python manage.py shell -c "
from django.contrib.auth import get_user_model
User = get_user_model()
if not User.objects.filter(is_superuser=True).exists():
    User.objects.create_superuser('admin', 'admin@system.com', 'admin123456')
    print('创建超级用户: admin/admin123456')
else:
    print('超级用户已存在')
"

echo "=== 生产环境初始化完成 ==="
echo "🔗 后端API地址: http://localhost:8000"
echo "🔗 Django管理: http://localhost:8000/admin/"
echo "👤 管理员邮箱: admin@system.com / admin123456"
echo ""

# 启动Django服务
echo "启动Django生产服务器..."
exec python manage.py runserver 0.0.0.0:8000 --settings=plant_disease.settings